#ifndef __SIGNAL_H__
#define __SIGNAL_H__

#include <linux/wait.h>
#include <asm/signal.h>

typedef void (*__sighandler_t) (int);

struct sigaction {
	__sighandler_t sa_handler;
	unsigned long sa_flags;
	// __sigrestore_t sa_restorer;
	// sigset_t sa_mask;		/* mask last for extensibility */
};

struct signal_struct {
	// atomic_t		count;
	struct sigaction	action[_NSIG];
	// spinlock_t		siglock;
	wait_queue_head_t	wait_chldexit;	/* for wait4() */
};

#define SIG_DFL	((__sighandler_t)0)	/* default signal handling */
#define SIG_IGN	((__sighandler_t)1)	/* ignore signal */
#define SIG_ERR	((__sighandler_t)-1)	/* error return from signal */

#endif
